「態」感覺用一個環境、一個空間、一個「界」的概念來解釋比較好理解。
用戶態就是人間界的概念,所有的應用程序都住在人間界。
內核態就是天界的概念,只有一個 Kernel 住在天界。
天界有各種精華、資源,這些東西不是隨隨便便一個凡人可以接近的。
這些精華就象徵硬體的資源,這些資源很寶貴不能隨便給用戶態的應用程序使用。
但有個宇宙至尊名為 CPU 遊俠,可以任意穿梭在人間跟天界,他神通廣大,可以完成所有請求,只要在他的能力還有體力範圍內。
所以凡人可以透過喊一聲咒語「系統調用!!!我要XXX資源」來觸發 CPU 的任務機制,CPU 會馬上飛到天界找 Kernel,他會叫 Kernel 完成凡人的請求,再把結果帶回凡間給這個凡人。
要搞這麼麻煩是因為:
1.維護天界的秩序跟安全:凡人愚鈍,阻絕他們,以免天界被破壞。
2.資源採集難度高:只有 Kernel 有考過證照,除了他沒人有辦法取得資源。
3.資源分配:CPU 遊俠公平公正公開,確保每個凡人都能有公平獲得這些資源的權利。
實際上 CPU 遊俠是拿著 Kernel 的指令大全去開採資料的,根本沒有 Kernel 這個人,是 CPU 編造出來的,Kernel 就是一堆可以直接開採資源的咒語而已,但偏偏只有 CPU 遊俠進得了天界,所以只有他能使用。